package com.letoken.platform.repo.app.req.token;

import com.letoken.platform.repo.app.po.AppUser;
import com.letoken.platform.repo.app.po.Token;
import com.letoken.platform.repo.app.req.user.AppUserLogin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author wyl
 * @date 2022/12/22
 */
@Data
@ApiModel(value = "用usdt提现请求对象", description = "用usdt提现请求对象")
public class WithdrawUsdtReq extends AppUserLogin {

    private Integer tokenId;


    @ApiModelProperty(name = "amount", value = "提现数量", required = true, example = "1500")
    @NotNull(message = "80303002")
    private BigDecimal amount;

    @NotBlank(message = "80303011")
    @ApiModelProperty(name = "userAddressOrUserId", value = "提现目标账户钱包地址或者账户id", required = true, example = "0x8af8e1e4df2b0ab6bfdb4b15ca15be2566169d38")
    private String userAddressOrUserId;

    @ApiModelProperty(name = "transferMode", value = "0平台互转 1链上提现", required = true, example = "0")
    private Integer transferMode;



    @ApiModelProperty(hidden = true)
    private Token token;
    @ApiModelProperty(hidden = true)
    private AppUser user;
    @ApiModelProperty(hidden = true)
    private String uuId;
    @ApiModelProperty(hidden = true)
    private LocalDateTime now;
    @ApiModelProperty(hidden = true)
    private Integer walletId;
    @ApiModelProperty(hidden = true)
    private Integer toWalletId;
    @ApiModelProperty(value = "转出方地址",hidden = true)
    private String fromAddress;
    @ApiModelProperty(value = "接收方用户ID 内转一定有值", hidden = true)
    private Integer toUserId;
    @ApiModelProperty(value = "接收者地址如果是通过地址转账 内转通过用户ID转账没有值",hidden = true)
    private String toAddress;
    @ApiModelProperty(hidden = true)
    private BigDecimal fee;





}
